#ifndef _MW_LOGGER_HPP_
#define _MW_LOGGER_HPP_

#include "config.hpp"
#include <string>
#include <cstdlib>
#include "singleton.hpp"

namespace mw {
enum LogType
{
	TRACE,
	DEBUG,
	INFO,
	WARNING,
	ERROR,
	CRITICAL,
	LOG_TYPE_COUNT
};
static const char* LogTypeString[] = 
{
	"TRACE",
	"DEBUG",
	"INFO",
	"WARNING",
	"ERROR",
	"CRITICAL",
	NULL
};

class Logger: public Singleton<Logger>
{
public:
public:
	void log(const std::string& message, LogType logType);
	void log(const char* message, LogType logType);
};

} // end namespace mw

#endif // _MW_LOGGER_HPP_
